一般情況下,使用 computed 比起 watcher 更簡潔,如下:
new Vue({
data: {
firstName: 'Foo',
lastName: 'Bar',
fullName: 'Foo Bar'
},
watch: {
firstName: function (val) {
this.fullName = val + ' ' + this.lastName
},
lastName: function (val) {
this.fullName = this.firstName + ' ' + val
}
},
computed: {
fullName: function () {
return this.firstName + ' ' + this.lastName
}
}
});
當需要較複雜的計算或非同步的方法時,則可以使用 watcher 來完成工作